package com.ruoyi.eqmonitor.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 巡检任务对象 opt_patrol_task
 * @author ruoyi
 * @date 2022-12-19
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class OptPatrolTask extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /** Id */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String name;

    /** 任务类型Id(0人工巡检 1设备自动报警) */
    @Excel(name = "任务类型Id(0人工巡检 1设备自动报警)")
    private Long typeId;

    /** 任务类型名称 */
    @Excel(name = "任务类型名称")
    private String typeName;

    /** 任务频次(0一次性 1日 2周 3月) */
    @Excel(name = "任务频次(0一次性 1日 2周 3月)")
    private Long rateType;

    /** 频次 */
    @Excel(name = "频次")
    private Long times;

    /** 执行片区Id */
    @Excel(name = "执行片区Id")
    private Long targetId;

    /** 执行片区名称 */
    @Excel(name = "执行片区名称")
    private String targetName;

    /** 巡养单位Id */
    @Excel(name = "巡养单位Id")
    private String executeOrganizationId;

    /** 巡养单位名称 */
    @Excel(name = "巡养单位名称")
    private String executeOrganizationName;

    /** 任务接收人Id */
    @Excel(name = "任务接收人Id")
    private Long receiveUserId;

    /** 任务接收人姓名 */
    @Excel(name = "任务接收人姓名")
    private String receiveUserName;

    /** 任务开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "任务开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 任务结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "任务结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 执行次数 */
    @Excel(name = "执行次数")
    private Long executedNum;

    /** 任务状态(1指派 2待确认 3确认 4处置中 5清除) */
    @Excel(name = "任务状态(1指派 2待确认 3确认 4处置中 5清除)")
    private Long statusId;

    /** 任务状态名称 */
    @Excel(name = "任务状态名称")
    private String statusName;

    /** 任务线路 */
    @Excel(name = "任务线路")
    private String route;

    /** 状态(0 暂存) */
    @Excel(name = "状态(0 暂存)")
    private Long status;

    /** 读取类型 */
    @Excel(name = "读取类型")
    private Long readType;

    /** 记录总数 */
    @Excel(name = "记录总数")
    private Long recordCount;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String deviceCode;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备类型Id */
    @Excel(name = "设备类型Id")
    private String deviceTypeId;

    /** 设备类型名称 */
    @Excel(name = "设备类型名称")
    private String deviceTypeName;

    /** 设备地址 */
    @Excel(name = "设备地址")
    private String deviceAddress;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal lng;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal lat;

    /** X */
    @Excel(name = "X")
    private BigDecimal x;

    /** Y */
    @Excel(name = "Y")
    private BigDecimal y;

    /** 报警Id */
    @Excel(name = "报警Id")
    private Long alarmId;

    //(0：排口；1：溢流井；2：断面)
    private Integer state;

    //排口/溢流井/断面 id
    private String minorId;

}